"""
@name : 08.静态方法和类方法
@author : wenyao
@projectname: xsfh
"""
#属性：  对象的描述信息 （数据）
#静态属性  -- 类属性
#普通属性  -- 实例属性

#方法   （函数）
#实例方法
#静态方法
#类方法

class A:
    name = "ATM"
    def __init__(self):
        self.country = "china"

    #普通（实例）方法
    #第一个参数代表实例本身
    def normal_method(self,name):
        print("normal:")
        print(self.name, name)

    #类方法
    #第一个参数代表类
    @classmethod
    def class_method(cls,name):
        print("classmethod:")
        print(cls)

    @staticmethod
    def static_method(name):
        print("staticmethod:")

a1 = A()

#############实例方法，静态方法，类方法都能通过实例去调用
# a1.normal_method("a1")
# A.normal_method(a1,"a1")
# a1.class_method("a1")
# a1.static_method("a1")

#可以通过类名去调用 类方法和静态方法
#调用实例方法 ，必须要传入一个实例对象
A.class_method("A")
A.static_method("A")
A.normal_method(a1,"A")